package com.yuqih.common.service;

import java.util.List;

import com.yuqih.common.dto.Page;
import com.yuqih.common.dto.PageMetadata;

public interface ICommonService {
	
	<T> void save(Class<T> type, T model);
	
	<T> void save(Class<T> type, List<T> models);
	
	<T> void modify(Class<T> type, T model);
	
	<T> void modify(Class<T> type, List<T> models);
	
	<T> void remove(Class<T> type, Object id);
	
	<T> void remove(Class<T> type, List<?> ids);
	
	<T> T findById(Class<T> type, Object id);
	
	<T> List<T> list(Class<T> type, Object condition);
	
	<T> Page<T> page(Class<T> type, Object condition, PageMetadata pageMetadata);
}
